package capaModelo;

import java.io.Serializable;
import java.util.AbstractMap;
import java.util.HashMap;

import main.Aplication;
import capaGrafica.AdminAdd_V;
import capaGrafica.Listado_V;
import capaGrafica.Login_V;
import capaGrafica.Registro_V;
import capaPersistencia.ModuloProductos;
import capaPersistencia.ModuloUsuarios;

public class Login_M implements Modelo{

	public void pressed(int code, AbstractMap<String,Serializable> data){
		HashMap<String,Serializable> datos = new HashMap<String,Serializable>();
		ModuloUsuarios miModuloUsuarios = new ModuloUsuarios();
		ModuloProductos miModuloProductos = new ModuloProductos();
		switch(code){
		
		
			case Login_V.BTN_LOGIN :
				
				String login = (String) data.get("login");
				String pass = new String((char[]) data.get("pass"));
				
				
				//Verificar usuario y pass
				if(!miModuloUsuarios.autenticarUsuario(login,pass)){
					/* Si no es correcto informar */
					Aplication.actualWindow.change(Login_V.ERROR_LOGIN, null);
				}
				else{
						Aplication.logedUser = login;
						/* Saltar al listado si es user*/
						if(miModuloUsuarios.obtenerUsuario(login).getRol().equals("user")){
						
							datos.put("productos", miModuloProductos.ordenarProductosNombre());
							Aplication.changeToWindow(new Listado_V(), datos);
						}
						else
						Aplication.changeToWindow(new AdminAdd_V(), null);
							
				}
					
			break;
				
			case Login_V.BTN_CANCEL :
				
				/* De momento saltar a listado */
				datos.put("productos", miModuloProductos.ordenarProductosNombre());
				Aplication.changeToWindow(new Listado_V(), datos);				
			break;
			
			case Login_V.MENU_LISTADO :
				datos.put("productos", miModuloProductos.ordenarProductosNombre());
				Aplication.changeToWindow(new Listado_V(), datos);				
			break;
			
			case Login_V.MENU_REGISTRO :
				Aplication.changeToWindow(new Registro_V(), null);
				
			break;
			
			
		}
	}
}
